package com.aisb.core;

import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description：
 * @Author wucm
 * @Date 2017/12/27
 */
public interface BaseDao<T> {
    int insert(T t);

    int insert(Map map);

    int insertBatch(List list);

    int update(T t);

    int update(Map map);

    int delete(Object id);

    int delete(Map map);

    int deleteBatch(List list);

    T queryOne(Object id);

    T queryOne(Map map);

    List<T> queryList(@Param("param") Map map);

    List<T> queryList(Object id);

    int queryTotal(Map map);

    int queryTotal();

    Page<T> searchPage(@Param("param") Map param, @Param("pageNum") int pageNum, @Param("pageSize") int pageSize);

}
